home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / asm / TBSource.lha / V舐iPaletti / VP.S
Text File  |  1993-07-02  |  18KB  |  916 lines

  1. *************************************************
  2. *                        *
  3. *         (C)opyright 1993        *
  4. *                        *
  5. *          Tomi Blinnikka        *
  6. *                        *
  7. *    Don't try to understand the code    *
  8. *                        *
  9. * Version 1.00    15/04/1993            *
  10. *           -18/04/1993            *
  11. *                        *
  12. * BUGS:    Command Line Option '?' caused error.    *
  13. *    Display problems under 2.04.        *
  14. *                        *
  15. * Version 1.01    18/04/1993            *
  16. *                        *
  17. *************************************************
  18.  
  19.     INCLUDE    "JMPLibs.i"
  20.     INCLUDE    "libraries/dos.i"
  21.     INCLUDE    "libraries/dosextens.i"
  22.     INCLUDE    "graphics/rastport.i"
  23.     INCLUDE    "libraries/gadtools.i"
  24.  
  25.     INCLUDE    "XREF:2.0.xref"
  26.  
  27.     INCLUDE    "XREF:gfx.xref"
  28.     INCLUDE    "XREF:intuition.xref"
  29.     INCLUDE    "XREF:exec.xref"
  30.     INCLUDE    "XREF:dos.xref"
  31.  
  32.  
  33. MainLeft:    EQU    17
  34. MainTop:    EQU    10
  35. SliderWidth:    EQU    200
  36. SliderHeight:    EQU    24
  37. SliderTxtWidth:    EQU    160
  38.  
  39. HelpTop:    EQU    MainTop+3*(SliderHeight+INTERHEIGHT)+INTERHEIGHT
  40. HelpHeight:    EQU    80
  41.  
  42. TRUE:        EQU    1
  43. FALSE:        EQU    0
  44.  
  45. Depth:        EQU    3
  46. BGPen:        EQU    4
  47.  
  48.         section    VP,CODE
  49.  
  50. Start:        push    d2-d7/a2-a6
  51.         push    a0
  52.  
  53.         sub.l    a1,a1            ;Find our task
  54.         lib    Exec,FindTask
  55.         move.l    d0,OurTask
  56.         move.l    d0,a4
  57.  
  58.         move.l    pr_CLI(a4),d0
  59.         bne    OpenDos
  60.  
  61.         lea.l    pr_MsgPort(a4),a0
  62.         lib    Exec,WaitPort
  63.         lea.l    pr_MsgPort(a4),a0
  64.         lib    Exec,GetMsg
  65.         move.l    d0,WBMsg
  66.  
  67. OpenDos:    openlib    Dos,NoDos
  68.  
  69.         tst.l    WBMsg
  70.         beq    CLIStart
  71.  
  72.         pull    a0
  73.         lea.l    CONName,a0
  74.         move.l    a0,d1
  75.         move.l    #MODE_OLDFILE,d2
  76.         lib    Dos,Open
  77.         move.l    d0,CONFile
  78.         move.l    d0,_stdout
  79.         beq    NoCON
  80.  
  81.         bra    MainStart
  82.  
  83. CLIStart:    lib    Dos,Output
  84.         move.l    d0,_stdout
  85.  
  86.         pull    a0
  87.         cmp.b    #'?',(a0)
  88.         beq    Usage
  89.  
  90. MainStart:    openlib    GadTools,NoGT
  91.         openlib    Intuition,NoInt
  92.         openlib    Gfx,NoGfx
  93.  
  94. ;Close Workbench screen
  95.  
  96.         lib    Intuition,CloseWorkBench
  97.  
  98. ;Open screen and main window
  99.  
  100.         lea.l    NewScreen1,a0
  101.         lea.l    Screen1TagList,a1
  102.         lib    Intuition,OpenScreenTagList
  103.         move.l    d0,Screen1
  104.         beq    NoScreen
  105.  
  106. ;Get ViewPort
  107.  
  108.         move.l    Screen1,d0
  109.         add.l    #$2c,d0
  110.         move.l    d0,VP1
  111.  
  112. ;Set sizes etc
  113.  
  114.         lea.l    NewWindow1,a0
  115.         move.l    Screen1,a1
  116.         move.l    a1,nw_Screen(a0)
  117.         move.l    sc_Width(a1),nw_Width(a0)
  118.         clr.l    d0
  119.         move.b    sc_BarHeight(a1),d0
  120.         add.b    #1,d0
  121.         add.w    d0,nw_TopEdge(a0)
  122.         sub.w    d0,nw_Height(a0)
  123.  
  124. ;Do GadTools preparations, gadgets and menus
  125.  
  126. ;Get visualinfo
  127.  
  128.         move.l    Screen1,a0
  129.         lea.l    Screen1TagList,a1
  130.         lib    GadTools,GetVisualInfoA
  131.         move.l    d0,vi
  132.  
  133. ;Make gadget stuff
  134.  
  135.         lea.l    glist,a0
  136.         lib    GadTools,CreateContext
  137.         move.l    d0,ContextGad
  138.         beq    NoContextGad
  139.  
  140.         move.l    glist,a0
  141.         lea.l    NGSliderGad1,a1
  142.         move.l    #SLIDER_KIND,d0
  143.         move.l    vi,gng_VisualInfo(a1)
  144.         lea.l    SliderTagList1,a2
  145.         lib    GadTools,CreateGadgetA
  146.  
  147.         move.l    d0,SliderGad1
  148.         move.l    d0,a0
  149.  
  150.         lea.l    NGSliderGad2,a1
  151.         move.l    #SLIDER_KIND,d0
  152.         move.l    vi,gng_VisualInfo(a1)
  153.         lea.l    SliderTagList2,a2
  154.         lib    GadTools,CreateGadgetA
  155.  
  156.         move.l    d0,SliderGad2
  157.         move.l    d0,a0
  158.  
  159.         lea.l    NGSliderGad3,a1
  160.         move.l    #SLIDER_KIND,d0
  161.         move.l    vi,gng_VisualInfo(a1)
  162.         lea.l    SliderTagList3,a2
  163.         lib    GadTools,CreateGadgetA
  164.  
  165.         move.l    d0,SliderGad3
  166.         move.l    d0,a0
  167.  
  168. ;Do the menu stuff
  169.  
  170.         lea.l    MNProjectMenu1,a0
  171.         lea.l    MenuTagList,a1
  172.         lib    GadTools,CreateMenusA
  173.         move.l    d0,mlist
  174.         beq    NoMenus
  175.  
  176.         move.l    mlist,a0
  177.         move.l    vi,a1
  178.         lea.l    MenuTagList,a2
  179.         lib    GadTools,LayoutMenusA
  180.  
  181.         lea.l    NewWindow1,a0
  182.         lib    Intuition,OpenWindow
  183.         move.l    d0,Window1
  184.         beq    NoWindow
  185.         move.l    d0,a0
  186.         move.l    $32(a0),RP1
  187.  
  188. ;move requesters to Window1
  189.  
  190.         move.l    OurTask,a0
  191.         move.l    pr_WindowPtr(a0),OldTaskWinPtr
  192.         move.l    Window1,$b8(a0)
  193.  
  194. ;Add menus to window 1
  195.  
  196.         move.l    Window1,a0
  197.         move.l    mlist,a1
  198.         lib    Intuition,SetMenuStrip
  199.  
  200. ;Fill window with BGPen
  201.  
  202.         move.l    RP1,a1
  203.         move.l    #BGPen,d0
  204.         lib    Gfx,SetRast
  205.  
  206. ;Re-draw window frame
  207.  
  208.         move.l    Window1,a0
  209.         lib    Intuition,RefreshWindowFrame
  210.  
  211. ;Set APen to background color
  212.  
  213.         move.l    RP1,a1
  214.         clr.l    d0
  215.         lib    Gfx,SetAPen
  216.  
  217. ;Clear area for gadgets
  218.  
  219.         move.l    RP1,a1
  220.         move.l    #MainLeft-INTERWIDTH,d0
  221.         move.l    #MainTop-INTERHEIGHT,d1
  222.         move.l    #MainLeft-INTERWIDTH+SliderWidth+SliderTxtWidth+INTERWIDTH-1,d2
  223.         move.l    #MainTop-INTERHEIGHT+3*(SliderHeight+INTERHEIGHT)+INTERHEIGHT-1,d3
  224.         lib    Gfx,RectFill
  225.  
  226. ;Draw a box around sliders
  227.  
  228.         move.l    RP1,a0
  229.         move.l    #MainLeft-INTERWIDTH,d0
  230.         move.l    #MainTop-INTERHEIGHT,d1
  231.         move.l    #SliderWidth+SliderTxtWidth+INTERWIDTH,d2
  232.         move.l    #3*(SliderHeight+INTERHEIGHT)+INTERHEIGHT,d3
  233.         move.l    vi,BevelBoxTags+4
  234.         lea.l    BevelBoxTags,a1
  235.         lib    GadTools,DrawBevelBoxA
  236.  
  237. ;Clear area for help text
  238.  
  239.         move.l    RP1,a1
  240.         move.l    #MainLeft-INTERWIDTH,d0
  241.         move.l    #HelpTop,d1
  242.         move.l    #MainLeft-INTERWIDTH+SliderWidth+SliderTxtWidth+INTERWIDTH-1,d2
  243.         move.l    #HelpTop+HelpHeight,d3
  244.         lib    Gfx,RectFill
  245.  
  246. ;Draw a box around help text
  247.  
  248.         move.l    RP1,a0
  249.         move.l    #MainLeft-INTERWIDTH,d0
  250.         move.l    #HelpTop,d1
  251.         move.l    #INTERWIDTH+SliderWidth+SliderTxtWidth,d2
  252.         move.l    #HelpHeight+INTERHEIGHT-2,d3
  253.         move.l    vi,BevelBoxTags+4
  254.         lea.l    BevelBoxTags,a1
  255.         lib    GadTools,DrawBevelBoxA
  256.  
  257. ;Set APen to color 1
  258.  
  259.         move.l    RP1,a1
  260.         move.l    #1,d0
  261.         lib    Gfx,SetAPen
  262. ;Print help text
  263.  
  264.         move.l    RP1,a0
  265.         lea.l    HelpTxt1,a1
  266.         move.l    #MainLeft+2,d0
  267.         move.l    #HelpTop+8,d1
  268.         lib    Intuition,PrintIText
  269.  
  270. ;Add gadgets to Window 1
  271.  
  272.         move.l    Window1,a0
  273.         move.l    glist,a1
  274.         sub.l    a2,a2
  275.         move.l    #-1,d0
  276.         move.l    #-1,d1
  277.         lib    Intuition,AddGList
  278.  
  279.         bsr    RefreshGads
  280.  
  281. ;Start of main loop
  282.  
  283. Window1IDCMP:    move.l    Window1,a0
  284.         bsr    CheckIDCMP
  285.         cmp.l    #CLOSEWINDOW,d2        ;gets fake closewindow only...
  286.         beq    ShutDown
  287.         cmp.l    #MENUPICK,d2
  288.         beq    Win1Menus
  289.         bra    Window1IDCMP
  290.  
  291. Win1Menus:    bsr    MenuNull
  292.         cmp.w    #$00,d6
  293.         beq    Win1Menus1
  294.         bra    Window1IDCMP
  295. Win1Menus1:    cmp.w    #$00,d5
  296.         beq    About
  297.         cmp.w    #$02,d5
  298.         beq    ShutDown
  299.         bra    Window1IDCMP
  300.  
  301. SliderHook1:    push    d2-d7/a2-a6
  302.         clr.l    d4
  303.         move.w    d0,d4
  304.         move.l    d4,Red
  305.         bra    SliderHook_OUT
  306.  
  307. SliderHook2:    push    d2-d7/a2-a6
  308.         clr.l    d4
  309.         move.w    d0,d4
  310.         move.l    d4,Green
  311.         bra    SliderHook_OUT
  312.  
  313. SliderHook3:    push    d2-d7/a2-a6
  314.         clr.l    d4
  315.         move.w    d0,d4
  316.         move.l    d4,Blue
  317.         bra    SliderHook_OUT
  318.  
  319. SliderHook_OUT:    move.l    VP1,a0
  320.         move.l    #BGPen,d0
  321.         move.l    Red,d1
  322.         move.l    Green,d2
  323.         move.l    Blue,d3
  324.         lib    Gfx,SetRGB4
  325.  
  326.         move.l    d4,d0
  327.         pull    d2-d7/a2-a6
  328.         rts
  329.  
  330. About:        bsr    SleepPointer
  331.         bsr    MenusOff
  332.  
  333.         move.l    Window1,a0
  334.         lea.l    AboutTxt1,a1
  335.         sub.l    a2,a2        ;positive text
  336.         lea.l    OKTxt,a3    ;a bit the wrong way around but...
  337.         move.l    #$00,d0
  338.         move.l    #$00,d1
  339.         move.l    #320,d2
  340.         move.l    #$50,d3
  341.         lib    Intuition,AutoRequest
  342.         bsr    MenusOn
  343.         bsr    NormalPointer
  344.         bra    Window1IDCMP
  345.  
  346. ShutDown:    tst.l    OldTaskWinPtr
  347.         beq    ShutDown3000
  348.         move.l    OurTask,a0
  349.         move.l    OldTaskWinPtr,pr_WindowPtr(a0)
  350.  
  351. ShutDown3000:    tst.l    CONFile
  352.         beq    ShutDown2000
  353.         move.l    CONFile,d1
  354.         lib    Dos,Close
  355.  
  356. ShutDown2000:    tst.l    _IntuitionBase
  357.         beq    ShutDown1950
  358.         lib    Intuition,OpenWorkBench
  359.  
  360. ShutDown1950:    tst.l    Window1
  361.         beq    ShutDown1900
  362.         move.l    Window1,a0
  363.         lib    Intuition,ClearMenuStrip
  364.         move.l    Window1,a0
  365.         bsr    ClearMSGs
  366.  
  367. ShutDown1900:    bsr    Clean2.0Magic
  368.  
  369.         tst.l    Screen1
  370.         beq    ShutDown1000
  371.         move.l    Screen1,a0
  372.         lib    Intuition,CloseScreen
  373.  
  374. ShutDown1100:
  375. ShutDown1000:    move.l    WBMsg,d2
  376.         beq    ShutDown_OUT
  377.         lib    Exec,Forbid
  378.         move.l    d2,a1
  379.         flib    Exec,ReplyMsg
  380.  
  381. ShutDown_OUT:    closlib    GadTools
  382.         closlib    Gfx
  383.         closlib    Intuition
  384.         closlib    Dos
  385.  
  386.         pull    d2-d7/a2-a6
  387.         move.l    #RETURN_OK,d0
  388.         rts
  389.  
  390. ;Subroutines should be here...
  391.  
  392. RefreshGads:    move.l    glist,a0
  393.         move.l    Window1,a1
  394.         sub.l    a2,a2
  395.         move.l    #-1,d0
  396.         lib    Intuition,RefreshGList
  397.  
  398.         move.l    Window1,a0
  399.         sub.l    a1,a1
  400.         lib    GadTools,GT_RefreshWindow
  401.         rts
  402.  
  403. SleepPointer:    move.l    Window1,a0
  404.         lea.l    ClockPointer1,a1
  405.         move.l    #16,d0
  406.         move.l    #16,d1            ;WHAT-THE-HECK IS THIS FOR?
  407.         move.l    #-6,d2
  408.         move.l    #0,d3
  409.         lib    Intuition,SetPointer
  410.         rts
  411.  
  412. NormalPointer:    move.l    Window1,a0
  413.         lib    Intuition,ClearPointer
  414.         rts
  415.  
  416. MenusOn:    move.l    Window1,a0
  417.         move.l    mlist,a1
  418.         lib    Intuition,SetMenuStrip
  419.         rts
  420.  
  421. MenusOff:    move.l    Window1,a0
  422.         lib    Intuition,ClearMenuStrip
  423.         rts
  424.  
  425. ;CheckIDCMP gets messages from both the CTRL_C bit and Intuition.
  426. ; a0 = window structure
  427.  
  428. CheckIDCMP:    move.l    $56(a0),a2        ;Get window's port
  429.         move.l    #0,d1            ;Set signals for
  430.         move.b    $0f(a2),d1        ;IntuiMessages
  431.         move.l    #SIGBREAKF_CTRL_C,d0    ;and for CTRL_C check
  432.         bset.l    d1,d0
  433.         lib    Exec,Wait    
  434.     
  435.         cmp.l    #SIGBREAKF_CTRL_C,d0
  436.         beq    Break
  437.  
  438. GetMsg1:    move.l    a2,a0    
  439.         lib    GadTools,GT_GetIMsg
  440.         tst.l    d0
  441.         beq    GetMsg2
  442.     
  443.         move.l    d0,a1 
  444.         move.l    $14(a1),d2        ;answers with Class in d2,
  445.         move.w    $18(a1),d3        ;Code in d3 and
  446.         move.w    $1a(a1),a4        ;Qualifier in a4
  447.         move.l    $1c(a1),a5        ;IAddress in a5
  448.         lib    GadTools,GT_ReplyIMsg
  449.         bra    GetMsg1
  450. GetMsg2:    move.l    #-1,d0
  451.         rts
  452.  
  453. ;Newer MenuNull subroutine
  454.  
  455. MenuNull:    move.w    d3,d0
  456.         and.w    #$1f,d0
  457.         move.w    d0,d6
  458.         move.w    d3,d0
  459.         lsr.w    #5,d0
  460.         move.w    d0,d1
  461.         and.w    #$3f,d0
  462.         move.w    d0,d5
  463.         lsr.w    #6,d1
  464.         move.w    d1,d4
  465.         rts
  466.  
  467. ;ClearMsgs subroutine
  468. ;a3 = window structure
  469.  
  470. ClearMSGs:    lib    Exec,Forbid
  471.         move.l    Window1,a3
  472.         move.l    $56(a3),a2
  473. ClearMsg1:    move.l    a2,a0    
  474.         lib    GadTools,GT_GetIMsg
  475.         tst.l    d0
  476.         beq    ClearMsg2
  477.         move.l    d0,a1 
  478.         flib    GadTools,GT_ReplyIMsg
  479.         bra    ClearMsg1
  480. ClearMsg2:    move.l    a3,a0
  481.         lib    Intuition,CloseWindow
  482.         lib    Exec,Permit
  483. ClearMsg3:    rts
  484.  
  485. Clean2.0Magic:    tst.l    glist
  486.         beq    Clean2.0M2
  487.         move.l    glist,a0
  488.         lib    GadTools,FreeGadgets
  489.  
  490. Clean2.0M2:    tst.l    mlist
  491.         beq    Clean2.0M3
  492.         move.l    mlist,a0
  493.         lib    GadTools,FreeMenus
  494.  
  495. Clean2.0M3:    tst.l    vi
  496.         beq    Clean2.0_OUT
  497.         move.l    vi,a0
  498.         lib    GadTools,FreeVisualInfo
  499.  
  500. Clean2.0_OUT:    rts
  501.  
  502. NoDos:        pull    a0
  503.         pull    d2-d7/a2-a6
  504.         move.l    #RETURN_FAIL,d0
  505.         rts
  506.  
  507. Usage:        lea.l    UsageText1,a0
  508.         bsr    Printer
  509.         bra    ShutDown
  510.  
  511. NoGT:        lea.l    NoGTText1,a0
  512.         bsr    Printer
  513.         bra    ShutDown
  514.  
  515. NoInt:        lea.l    NoIntText1,a0
  516.         bsr    Printer
  517.         bra    ShutDown
  518.  
  519. NoGfx:        lea.l    NoGfxText1,a0
  520.         bsr    Printer
  521.         bra    ShutDown
  522.  
  523. NoScreen:    lea.l    NoScreenText1,a0
  524.         bsr    Printer
  525.         bra    ShutDown
  526.  
  527. NoWindow:    lea.l    NoWindowText1,a0
  528.         bsr    Printer
  529.         bra    ShutDown
  530.  
  531. NoContextGad:    lea.l    NoContextText1,a0
  532.         bsr    Printer
  533.         bra    ShutDown
  534.  
  535. NoMenus:    lea.l    NoMenusText1,a0
  536.         bsr    Printer
  537.         bra    ShutDown
  538.  
  539. NoCON:        lea.l    NoCONText1,a0
  540.         bsr    Printer
  541.         bra    ShutDown
  542.  
  543. Break:        lea.l    BreakText1,a0
  544.         bsr    Printer
  545.         move.l    #CLOSEWINDOW,d2        ;fake closewindow...
  546.         move.l    #-1,d0
  547.         rts
  548.  
  549. Printer:    printa    a0,_stdout
  550.         rts
  551.  
  552. ;Reservations
  553.  
  554. ;Library stuff
  555.  
  556.         libnames
  557.  
  558. ;GadTools stuff
  559.  
  560. vi:        dc.l    0        ;Visual Info
  561. mlist:        dc.l    0
  562. ContextGad:    dc.l    0
  563.  
  564. SliderGad1:    dc.l    0
  565. SliderGad2:    dc.l    0
  566. SliderGad3:    dc.l    0
  567.  
  568. ;WB Stuff
  569.  
  570. WBMsg:        dc.l    0
  571.  
  572. ;Display stuff
  573.  
  574. Screen1:    dc.l    0
  575. VP1:        dc.l    0
  576. Window1:    dc.l    0
  577. RP1:        dc.l    0
  578. Red:        dc.l    0
  579. Green:        dc.l    0
  580. Blue:        dc.l    0
  581.  
  582. ;Task stuff
  583.  
  584. OurTask:    dc.l    0
  585. OldTaskWinPtr:    dc.l    0
  586.  
  587. ;File stuff
  588.  
  589. CONFile:    dc.l    0
  590. _stdout:    dc.l    0
  591.  
  592. ;Strings
  593.  
  594. BreakText1:    dc.b    "***Keskeytys: VäriPaletti",13,10,0
  595. NoGTText1:    dc.b    "VIRHE: Ei kyetty avaamaan: gadtools.librarya!",13,10,0
  596. NoIntText1:    dc.b    "VIRHE: Ei kyetty avaamaan: intuition.library!",13,10,0
  597. NoGfxText1:    dc.b    "VIRHE: Ei kyetty avaamaan: graphics.library!",13,10,0
  598. NoScreenText1:    dc.b    "VIRHE: Ei kyetty avaamaan ruutua!",13,10,0
  599. NoContextText1:    dc.b    "VIRHE: Ei kyetty luomaan: context gadget!",13,10,0
  600. NoMenusText1:    dc.b    "VIRHE: Ei kyetty varaamaan valikkostruktuuria!",13,10,0
  601. NoWindowText1:    dc.b    "VIRHE: Ei kyetty avaamaan ikkunaa!",13,10,0
  602. NoCONText1:    dc.b    "VIRHE: Ei kyetty avaamaan: 'CON:'!",13,10,0
  603. NoMemText1:    dc.b    "VIRHE: Ei riittävästi muistia!",0
  604.  
  605. RMVersion:    dc.b    "$VER: "
  606. UsageText1:    dc.b    "Väripaletti 1.01 (18.04.93) (C)opyright Tomi Blinnikka 1993",13,10,13,10
  607. ;        dc.b    10,"*** BETA-TESTAAJA VERSIO ***",13,10,13,10,13,10
  608.         dc.b    "KÄYTTÖ: VäriPaletti",13,10,13,10,13,10
  609.         dc.b    "Tämä ohjelma vaati KickStart 2.04 tai uudemman.",13,10,13,10,0
  610. TTName1:    dc.b    "Väripaletti, (C)opyright Tomi Blinnikka 1993.",0
  611. AboutText1:    dc.b    "Nimi   : Väripaletti",0
  612. AboutText2:    dc.b    "Versio : 1.01",0
  613. AboutText3:    dc.b    "Tekijä : Tomi Blinnikka",0
  614. AboutText4:    dc.b    "   (C)opyright  1993",0
  615. OKText1:    dc.b    "OK",0
  616. CancelText1:    dc.b    "Peru",0
  617. FString1:    dc.b    "Punainen: %ld / 15 ",0
  618. FString2:    dc.b    "Vihreä  : %ld / 15 ",0
  619. FString3:    dc.b    "Sininen : %ld / 15 ",0
  620. HelpText1:    dc.b    "1. Valitse säädettävä värikomponentti.",0
  621. HelpText2:    dc.b    "2. Siirrä nuolta hiiren avulla liukusääti-",0
  622. HelpText3:    dc.b    "   messä olevan mustan laatikon päälle.",0
  623. HelpText4:    dc.b    "3. Paina vasenta hiiren nappia ja pidä",0
  624. HelpText5:    dc.b    "   sitä pohjassa.",0
  625. HelpText6:    dc.b    "4. Siirrä hiirtä vasemmalle tai oikealle.",0
  626.  
  627. ;File strings
  628.  
  629. CONName:    dc.b    "CON:0/25/640/150/Output Window/AUTO/WAIT",0
  630.  
  631.         ds.w    0
  632.  
  633. ;Structures
  634.  
  635. NewScreen1:    dc.w    0,0            ;X,Y POS
  636.         dc.w    -1            ;WIDTH
  637.         dc.w    -1            ;HEIGHT
  638.         dc.w    Depth            ;DEPTH
  639.         dc.b    0,1            ;COLORS
  640.         dc.w    V_HIRES            ;VIEWMODES
  641.         dc.w    CUSTOMSCREEN        ;TYPE
  642.         dc.l    Topaz            ;FONT
  643.         dc.l    TTName1            ;DEFULT TITLE
  644.         dc.l    0            ;GADGETS
  645.         dc.l    0            ;CUSTOMBITMAP
  646.  
  647. Screen1TagList:    dc.l    SA_Pens,default_pens
  648.         dc.l    TAG_DONE,0
  649. default_pens:    dc.w    ~0
  650.  
  651. BevelBoxTags:    dc.l    GT_VisualInfo
  652.         dc.l    0
  653.         dc.l    TAG_DONE,0
  654.  
  655. NewWindow1:    dc.w    0,0            ;X,Y POS
  656.         dc.w    0            ;WIDTH
  657.         dc.w    0            ;HEIGHT
  658.         dc.b    0,1            ;PENS
  659.         dc.l    SLIDERIDCMP!MENUPICK
  660.         dc.l    NOCAREREFRESH!ACTIVATE!BACKDROP
  661.         dc.l    0,0            ;GADGETS, CHECKMARK
  662.         dc.l    0            ;TITLE
  663.         dc.l    0            ;SCREEN ADDRESS
  664.         dc.l    0            ;BITMAP            
  665.         dc.w    0,0,0,0            ;MIN/MAX SIZE
  666.         dc.w    CUSTOMSCREEN        ;TYPE
  667.  
  668. ;Fonts
  669.  
  670. Topaz        dc.l    TopazName
  671.         dc.w    8
  672.         dc.b    0
  673.         dc.b    0
  674. TopazName    dc.b    "topaz.font",0
  675.         ds.w    0
  676.  
  677. ;Gadgets
  678.  
  679. glist:        dc.l    0        ;Next Gadget
  680.         dc.w    0        ;"hit-box" left edge
  681.         dc.w    0        ;"hit-box" top  edge
  682.         dc.w    0        ;"hit-box" Width
  683.         dc.w    0        ;"hit-box" Height
  684.         dc.w    0        ;flags
  685.         dc.w    0        ;activation
  686.         dc.w    0        ;gadget type
  687.         dc.l    0        ;gadget rendering
  688.         dc.l    0        ;select rendering
  689.         dc.l    0        ;gadget text
  690.         dc.l    0        ;mutual exclude
  691.         dc.l    0        ;special info
  692.         dc.w    0        ;gadget ID (user definable)
  693.         dc.l    0        ;ptr to general purpose user data
  694.  
  695. ;New GadTools gadgets
  696.  
  697. NGSliderGad1:    dc.w    MainLeft    ;gng_LeftEdge
  698.         dc.w    MainTop+0*(SliderHeight+INTERHEIGHT)    ;gng_TopEdge
  699.         dc.w    SliderWidth    ;gng_Width
  700.         dc.w    SliderHeight    ;gng_Height
  701.         dc.l    0        ;gng_GadgetText
  702.         dc.l    Topaz        ;gng_TextAttr
  703.         dc.w    20        ;gng_GadgetID
  704.         dc.l    PLACETEXT_LEFT    ;gng_Flags
  705.         dc.l    0        ;gng_VisualInfo
  706.         dc.l    0        ;gng_UserData
  707.  
  708. NGSliderGad2:    dc.w    MainLeft    ;gng_LeftEdge
  709.         dc.w    MainTop+1*(SliderHeight+INTERHEIGHT)    ;gng_TopEdge
  710.         dc.w    SliderWidth    ;gng_Width
  711.         dc.w    SliderHeight    ;gng_Height
  712.         dc.l    0        ;gng_GadgetText
  713.         dc.l    Topaz        ;gng_TextAttr
  714.         dc.w    20        ;gng_GadgetID
  715.         dc.l    PLACETEXT_LEFT    ;gng_Flags
  716.         dc.l    0        ;gng_VisualInfo
  717.         dc.l    0        ;gng_UserData
  718.  
  719. NGSliderGad3:    dc.w    MainLeft    ;gng_LeftEdge
  720.         dc.w    MainTop+2*(SliderHeight+INTERHEIGHT)    ;gng_TopEdge
  721.         dc.w    SliderWidth    ;gng_Width
  722.         dc.w    SliderHeight    ;gng_Height
  723.         dc.l    0        ;gng_GadgetText
  724.         dc.l    Topaz        ;gng_TextAttr
  725.         dc.w    20        ;gng_GadgetID
  726.         dc.l    PLACETEXT_LEFT    ;gng_Flags
  727.         dc.l    0        ;gng_VisualInfo
  728.         dc.l    0        ;gng_UserData
  729.  
  730. ;Gadget TagLists
  731.  
  732. GadTagList:    dc.l    GT_Underscore,'_'
  733.         dc.l    TAG_DONE,0
  734. SliderTagList1:    dc.l    GTSL_Min,0
  735.         dc.l    GTSL_Max,15
  736.         dc.l    GTSL_Level,0
  737.         dc.l    GTSL_MaxLevelLen,20
  738.         dc.l    GTSL_LevelFormat,FString1
  739.         dc.l    GTSL_LevelPlace,PLACETEXT_RIGHT
  740.         dc.l    GTSL_DispFunc,SliderHook1
  741.         dc.l    TAG_DONE,0
  742. SliderTagList2:    dc.l    GTSL_Min,0
  743.         dc.l    GTSL_Max,15
  744.         dc.l    GTSL_Level,0
  745.         dc.l    GTSL_MaxLevelLen,20
  746.         dc.l    GTSL_LevelFormat,FString2
  747.         dc.l    GTSL_LevelPlace,PLACETEXT_RIGHT
  748.         dc.l    GTSL_DispFunc,SliderHook2
  749.         dc.l    TAG_DONE,0
  750. SliderTagList3:    dc.l    GTSL_Min,0
  751.         dc.l    GTSL_Max,15
  752.         dc.l    GTSL_Level,0
  753.         dc.l    GTSL_MaxLevelLen,20
  754.         dc.l    GTSL_LevelFormat,FString3
  755.         dc.l    GTSL_LevelPlace,PLACETEXT_RIGHT
  756.         dc.l    GTSL_DispFunc,SliderHook3
  757.         dc.l    TAG_DONE,0
  758.  
  759. ;Menus
  760.  
  761. Menu1Name:    dc.b    "Projekti",0
  762. AboutMenu1I1Text: dc.b    "Tietoa...",0
  763. AboutCommKey:    dc.b    "T",0
  764. QuitMenu1I1Text: dc.b    "Lopeta",0
  765. QuitCommKey:    dc.b    "L",0
  766.  
  767.         ds.w    0
  768.  
  769. MNProjectMenu1:    dc.b    NM_TITLE        ;gnm_Type
  770.         dc.b    0            ;gnm_Pad
  771.         dc.l    Menu1Name        ;gnm_Label
  772.         dc.l    0            ;gnm_CommKey
  773.         dc.w    0            ;gnm_Flags
  774.         dc.l    0            ;gnm_MutualExclude
  775.         dc.l    0            ;gnm_UserData
  776.  
  777. MNAboutMenu1:    dc.b    NM_ITEM            ;gnm_Type
  778.         dc.b    0            ;gnm_Pad
  779.         dc.l    AboutMenu1I1Text    ;gnm_Label
  780.         dc.l    AboutCommKey        ;gnm_CommKey
  781.         dc.w    0            ;gnm_Flags
  782.         dc.l    0            ;gnm_MutualExclude
  783.         dc.l    0            ;gnm_UserData
  784.  
  785. MNSepMenu1:    dc.b    NM_ITEM            ;gnm_Type
  786.         dc.b    0            ;gnm_Pad
  787.         dc.l    NM_BARLABEL        ;gnm_Label
  788.         dc.l    0            ;gnm_CommKey
  789.         dc.w    0            ;gnm_Flags
  790.         dc.l    0            ;gnm_MutualExclude
  791.         dc.l    0            ;gnm_UserData
  792.  
  793. MNQuitNMenu1:    dc.b    NM_ITEM            ;gnm_Type
  794.         dc.b    0            ;gnm_Pad
  795.         dc.l    QuitMenu1I1Text        ;gnm_Label
  796.         dc.l    QuitCommKey        ;gnm_CommKey
  797.         dc.w    0            ;gnm_Flags
  798.         dc.l    0            ;gnm_MutualExclude
  799.         dc.l    0            ;gnm_UserData
  800.  
  801.         dc.w    0            ;ITEM_END?
  802.  
  803. ;Menu TagList(s)
  804.  
  805. MenuTagList:    ;dc.l    GTMN_TextAttr,Topaz
  806.         dc.l    GTMN_Menu,MNProjectMenu1
  807.         dc.l    TAG_DONE,0
  808.  
  809.  
  810. ;IntuiTexts
  811.  
  812. AboutTxt1:    dc.b    1,0            ;PENS
  813.         dc.w    RP_JAM1            ;MODE
  814.         dc.w    10,10            ;LEFT+TOPEDGE
  815.         dc.l    Topaz            ;FONT
  816.         dc.l    AboutText1        ;TEXT
  817.         dc.l    AboutTxt2        ;NEXTTEXT
  818.         
  819. AboutTxt2:    dc.b    1,0            ;PENS
  820.         dc.w    RP_JAM1            ;MODE
  821.         dc.w    10,20            ;LEFT+TOPEDGE
  822.         dc.l    Topaz            ;FONT
  823.         dc.l    AboutText2        ;TEXT
  824.         dc.l    AboutTxt3        ;NEXTTEXT
  825.  
  826. AboutTxt3:    dc.b    1,0            ;PENS
  827.         dc.w    RP_JAM1            ;MODE
  828.         dc.w    10,30            ;LEFT+TOPEDGE
  829.         dc.l    Topaz            ;FONT
  830.         dc.l    AboutText3        ;TEXT
  831.         dc.l    AboutTxt4        ;NEXTTEXT
  832.  
  833. AboutTxt4:    dc.b    1,0            ;PENS
  834.         dc.w    RP_JAM1            ;MODE
  835.         dc.w    10,50            ;LEFT+TOPEDGE
  836.         dc.l    Topaz            ;FONT
  837.         dc.l    AboutText4        ;TEXT
  838.         dc.l    0            ;NEXTTEXT
  839.  
  840. HelpTxt1:    dc.b    1,0            ;PENS
  841.         dc.w    RP_JAM1            ;MODE
  842.         dc.w    0,0*11            ;LEFT+TOPEDGE
  843.         dc.l    Topaz            ;FONT
  844.         dc.l    HelpText1        ;TEXT
  845.         dc.l    HelpTxt2        ;NEXTTEXT
  846.         
  847. HelpTxt2:    dc.b    1,0            ;PENS
  848.         dc.w    RP_JAM1            ;MODE
  849.         dc.w    0,1*11+4        ;LEFT+TOPEDGE
  850.         dc.l    Topaz            ;FONT
  851.         dc.l    HelpText2        ;TEXT
  852.         dc.l    HelpTxt3        ;NEXTTEXT
  853.  
  854. HelpTxt3:    dc.b    1,0            ;PENS
  855.         dc.w    RP_JAM1            ;MODE
  856.         dc.w    0,2*11+2        ;LEFT+TOPEDGE
  857.         dc.l    Topaz            ;FONT
  858.         dc.l    HelpText3        ;TEXT
  859.         dc.l    HelpTxt4        ;NEXTTEXT
  860.  
  861. HelpTxt4:    dc.b    1,0            ;PENS
  862.         dc.w    RP_JAM1            ;MODE
  863.         dc.w    0,3*11+4        ;LEFT+TOPEDGE
  864.         dc.l    Topaz            ;FONT
  865.         dc.l    HelpText4        ;TEXT
  866.         dc.l    HelpTxt5        ;NEXTTEXT
  867.  
  868. HelpTxt5:    dc.b    1,0            ;PENS
  869.         dc.w    RP_JAM1            ;MODE
  870.         dc.w    0,4*11+2        ;LEFT+TOPEDGE
  871.         dc.l    Topaz            ;FONT
  872.         dc.l    HelpText5        ;TEXT
  873.         dc.l    HelpTxt6        ;NEXTTEXT
  874.  
  875. HelpTxt6:    dc.b    1,0            ;PENS
  876.         dc.w    RP_JAM1            ;MODE
  877.         dc.w    0,5*11+4            ;LEFT+TOPEDGE
  878.         dc.l    Topaz            ;FONT
  879.         dc.l    HelpText6        ;TEXT
  880.         dc.l    0            ;NEXTTEXT
  881.  
  882. OKTxt:        dc.b    1,0            ;PENS
  883.         dc.w    RP_JAM1            ;MODE
  884.         dc.w    1,1            ;LEFT+TOPEDGE
  885.         dc.l    0            ;FONT
  886.         dc.l    OKText1            ;TEXT
  887.         dc.l    0            ;NEXTTEXT
  888.  
  889. CancelTxt:    dc.b    1,0            ;PENS
  890.         dc.w    RP_JAM1            ;MODE
  891.         dc.w    1,1            ;LEFT+TOPEDGE
  892.         dc.l    0            ;FONT
  893.         dc.l    CancelText1        ;TEXT
  894.         dc.l    0            ;NEXTTEXT
  895.  
  896. NoMemTxt1:    dc.b    1,0            ;PENS
  897.         dc.w    RP_JAM1            ;MODE
  898.         dc.w    1,1            ;LEFT+TOPEDGE
  899.         dc.l    0            ;FONT
  900.         dc.l    NoMemText1        ;TEXT
  901.         dc.l    0            ;NEXTTEXT
  902.  
  903.         Section    VP,DATA,CHIP
  904.  
  905.         ds.w    0
  906.  
  907. ClockPointer1:    dc.w    $0000,$0000
  908.         dc.w    $0400,$07C0,$0000,$07C0,$0100,$0380,$0000,$07E0
  909.         dc.w    $07C0,$1FF8,$1FF0,$3FEC,$3FF8,$7FDE,$3FF8,$7FBE
  910.         dc.w    $7FFC,$FF7F,$7EFC,$FFFF,$7FFC,$FFFF,$3FF8,$7FFE
  911.         dc.w    $3FF8,$7FFE,$1FF0,$3FFC,$07C0,$1FF8,$0000,$07E0
  912.         dc.w    $0000,$0000
  913.  
  914.  
  915.         END
  916.